﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace NGUYENTHANHDONG.OOP.Inhertance___Polimophism.TEST.EXCERCISE_01
{
    public partial class ChuViVaDienTich : Form
    {
        public ChuViVaDienTich()
        {
            InitializeComponent();
        }

        private void ChuViVaDienTich_Load(object sender, EventArgs e)
        {
            txtKetQua.Enabled = false;
            cmbChonHinh.Items.Add("Hình Tam Giác");
            cmbChonHinh.Items.Add("Hình Chữ Nhật");
            cmbChonHinh.Items.Add("Hình Bát Giác");
            cmbChonHinh.Items.Add("Hình Vuông");

            cmbChonKieu.Items.Add("Chu Vi");
            cmbChonKieu.Items.Add("Diện Tích");
        }

        private void cmbChonHinh_SelectedIndexChanged(object sender, EventArgs e)
        {
            if(cmbChonHinh.Text == "Hình Chữ Nhật")
            {
                txtSide3.Enabled = false;
                txtSide1.Enabled = true;
                txtSide2.Enabled = true;
            }
            else if(cmbChonHinh.Text == "Hình Bát Giác")
            {
                txtSide2.Enabled = false;
                txtSide3.Enabled = false;
                txtSide1.Enabled = true;
            }
            else if(cmbChonHinh.Text == "Hình Tam Giác")
            {
                txtSide1.Enabled = true;
                txtSide2.Enabled = true;
                txtSide3.Enabled = true;
            }
            else if(cmbChonHinh.Text == "Hình Vuông")
            {
                txtSide1.Enabled = true;
                txtSide2.Enabled = false;
                txtSide3.Enabled = false;
            }
        }

        private void btnXacNhan_Click(object sender, EventArgs e)
        {
            errorProvider1.Clear();

            if(cmbChonHinh.Text == "")
            {
                errorProvider1.SetError(cmbChonHinh, "Khong dc de trong !!");

            }
            else if(string.IsNullOrEmpty(cmbChonKieu.Text))
            {
                errorProvider1.SetError(cmbChonKieu, "Khong dc de trong !!");
            }
            else if(string.IsNullOrEmpty(txtSide3.Text))
            {
                errorProvider1.SetError(txtSide3, "Khong dc de trong !!");
                txtSide3.Focus();
            }
            else if (string.IsNullOrEmpty(txtSide2.Text))
            {
                errorProvider1.SetError(txtSide2, "Khong dc de trong !!");
                txtSide2.Focus();
            }
            else if (string.IsNullOrEmpty(txtSide1.Text))
            {
                errorProvider1.SetError(txtSide1, "Khong dc de trong !!");
                txtSide1.Focus();
            }
            else
            {
                if(cmbChonHinh.Text == "Hình Tam Giác")
                {
                    TamGiac tg = new TamGiac(double.Parse(txtSide1.Text), double.Parse(txtSide2.Text), double.Parse(txtSide3.Text));

                    if(cmbChonKieu.Text == "Chu Vi")
                    {
                        txtKetQua.Text = tg.GetPerimeter() + "";
                    }
                    else
                    {
                        txtKetQua.Text = tg.GetArea() + "";
                    }
                }
                else if(cmbChonHinh.Text == "Hình Bát Giác")
                {
                    HinhBatGiac bg = new HinhBatGiac(double.Parse(txtSide1.Text));

                    if (cmbChonKieu.Text == "Chu Vi")
                    {
                        txtKetQua.Text = bg.GetPerimeter() + "";
                    }
                    else
                    {
                        txtKetQua.Text = bg.GetArea() + "";
                    }
                }
                else if (cmbChonHinh.Text == "Hình Vuông")
                {
                    HinhVuong hv = new HinhVuong(double.Parse(txtSide1.Text));
                   
                    if (cmbChonKieu.Text == "Chu Vi")
                    {
                        txtKetQua.Text = hv.GetPerimeter() + "";
                    }
                    else
                    {
                        txtKetQua.Text = hv.GetArea() + "";
                    }
                }
                else if (cmbChonHinh.Text == "Hình Chữ Nhật")
                {

                    HinhChuNhat cn = new HinhChuNhat(double.Parse(txtSide1.Text), double.Parse(txtSide2.Text));
                    if (cmbChonKieu.Text == "Chu Vi")
                    {
                        txtKetQua.Text = cn.GetPerimeter() + "";
                    }
                    else
                    {
                        txtKetQua.Text = cn.GetArea() + "";
                    }
                }
            }
        }
    }
}
